Don't leak pixbuf in some cases. (#317611, Tommi Komulainen)
authorMatthias Clasen <mclasen@redhat.com>
Fri, 30 Sep 2005 15:40:55 +0000 (15:40 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Fri, 30 Sep 2005 15:40:55 +0000 (15:40 +0000)
2005-09-30  Matthias Clasen  <mclasen@redhat.com>

* gtk/gtkimage.c (gtk_image_expose): Don't leak pixbuf in
some cases.  (#317611, Tommi Komulainen)

ChangeLog
ChangeLog.pre-2-10
gtk/gtkimage.c

index e5c9326c86d60c77f8266b1b9139daaa24ff90af..c2c1097902470714c028dcf016d24620ed3a7c67 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2005-09-30  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkimage.c (gtk_image_expose): Don't leak pixbuf in
+       some cases.  (#317611, Tommi Komulainen)
+
        * gtk/gtksocket-x11.c (_gtk_socket_windowing_size_request):
        Prevent overflow when storing size hints in an unsigned
        short variable. Tracked down by Ray Strode and Søren Sandmann.
index e5c9326c86d60c77f8266b1b9139daaa24ff90af..c2c1097902470714c028dcf016d24620ed3a7c67 100644 (file)
@@ -1,5 +1,8 @@
 2005-09-30  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkimage.c (gtk_image_expose): Don't leak pixbuf in
+       some cases.  (#317611, Tommi Komulainen)
+
        * gtk/gtksocket-x11.c (_gtk_socket_windowing_size_request):
        Prevent overflow when storing size hints in an unsigned
        short variable. Tracked down by Ray Strode and Søren Sandmann.
index 23a76b727952187a9625e9a4ebb3c87db7d64759..1061253e18e44c0805eb5e5b8b0ca25d8861aa53 100644 (file)
@@ -1784,9 +1784,6 @@ gtk_image_expose (GtkWidget      *widget,
                                   image_bound.height,
                                   GDK_RGB_DITHER_NORMAL,
                                   0, 0);
-
-                  g_object_unref (pixbuf);
-                  pixbuf = NULL;
                 }
             }
           else
@@ -1829,6 +1826,9 @@ gtk_image_expose (GtkWidget      *widget,
           gdk_gc_set_clip_origin (widget->style->black_gc, 0, 0);
         }
       
+      if (pixbuf)
+       g_object_unref (pixbuf);
+
     } /* if widget is drawable */
 
   return FALSE;